#ifndef DOCUMENT_H
#define DOCUMENT_H

#include "corecommon.h"

namespace TA {

class Document : public QObject
{
    Q_OBJECT
public:
    explicit Document(QObject *parent = 0);

    Document(QObject *parent,const QString& uuid);

    QString getUuid() const;
    void setUuid(const QString &value);

    QString getTitle() const;
    void setTitle(const QString &value);

    QString getContent() const;
    void setContent(const QString &value);


    Project *getProject() const;
    void setProject(Project *value);

    QDate getCreateDate() const;
    void setCreateDate(const QDate &createDate);

    int getUnCheckedCount();
    int getCheckedCount();

public:
    bool operator==(const Document& rhs);
    bool operator<(const Document& rhs);

private:
    void init(QObject *parent,const QString& uuid);

private:
    QString uuid;
    QString title;
    QString content;
    Project* project;
    QDate createDate;

private:
    WordRawPtrArray words;
public:
     WordRawPtrArray* getWords();

    WordRawPtr getWord(const QString& word);
signals:

public slots:
};




}
#endif // DOCUMENT_H
